A hardware device (e.g., a raid controller in SCSI, IDE, 1030, SAS, and/or SASIR) may need several management applications to support functionalities of the hardware device. For example, the hardware device may need a simple network management protocol (e.g., SNMP in short, which is a Layer 7 and/or an application layer protocol that may be used by a network management system to monitor the hardware device for conditions that warrant an administrative attention) support, a common information model (e.g., CIM in short, which represents and/or manages elements and/or information being managed) support, and other management application support.
Thus, the SNMP (e.g., a small network management protocol) may need to be implemented for each of a SNMP agent which resides in the hardware device. Also, the CIM (e.g., the common information model) may need to be implemented for a CIM provider which resides in the hardware device. Furthermore, the other management application may need to be implemented for a proxy of the other management application. Thus, a memory footprint may be high for the SNMP, the CIM, and the other management application running on the hardware device.
In addition, each of the SNMP agent, the CIM provider, and the proxy of the other management application (e.g., where the SNMP agent, the CIM provider, and the proxy of the other management application may maintain different data structures for caching) may interface with the hardware device in its own way (e.g., there may be no uniform scheme for data communication between the SNMP agent, the CIM provider, and the proxy and the hardware device). Furthermore, any change in the SNMP, the CIM, and/or the other management application may require an update for every single member of the SNMP agent, the CIM provider, and the proxy of the other management application (e.g., thus incurring a high cost, time, and/or manpower).